导航菜单
首页 >  python真题 定义了一个6个浮点  > 【python二级】一维列表

【python二级】一维列表

题目描述

右侧答题模板中已经给出部分代码,定义了包含6 个浮点数的一维列表img和包含 3 个数的一维列表filter,‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

img = [0.69,0.292,0.33,0.131,0.61,0.254]filter = [0.1, 0.8, 0.1] 不修改其他代码情况下,完善代码。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

向量内积计算规则如下: 设两个向量 [x1,x2,x3]和 [y1,y2,y3] ,内积K 计算公式: K = x1y1+x2y2+x3*y3‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

设两个向量 [x1,x2,x3,x4]和 [y1,y2,y3] ,内积K1,K2 计算公式: K1 = x1y1+x2y2+x3y3, K2=x2y1+x3y2+x4y3‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

以此类推。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

将每次计算的两组对应元素的值、以及对应元素乘积的累计和 k 的值显示在屏幕上 第一步计算第一个k,分为2次累计 1t2[0]*1t1[0+0] ,1t2[1]*1t1[0+1] , 1t2[2]*1t1[0+2] 的和。 具体格式如下所示: ‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬k=0.069,filter[0]=0.100,img[0+0]=0.690 k=0.303,filter[1]=0.800,img[0+1]=0.292 k=0.336 ,filter[2]=0.100,img[0+2]=0.330

…(略)

img = [0.69,0.292,0.33,0.131,0.61,0.254]filter = [0.1, 0.8, 0.1]res = []for i in range(len(img)-2):k=0for m in range(3):k+=filter[m]*img[i+m]print('k={:.3f} ,filter[{}]={:.3f},img[{}+{}]={:.3f}'.format(k,m,filter[m],i,m,img[i+m]))res.append(k)for r in res:print('{:.3f}'.format(r), end=' ') 简要说明

这道题主要让我们做两件事情:1、算k,注意k是img与filter对应元素的乘积,而img有6个元素,filter只有3个,因此k有4个。 2、输出,要把每一次算的对应积输出,也就是输出12次,这12次的k,以及产生k的对应的filter和img的元素。

然后就是对应遍历循环,注意img那个列表是遍历4次,去和只有三个元素的filter对应起每个元素相乘。然后在遍历filter之前设置k=0的初始值;这样算下一个k2时就会重新清零来过。 然后是输出,按照示例去输出就可以了。以及注意res列表是放所有的k1、k2、k3…这些加好了的对应积的内积。 然后遍历、打印。

相关推荐: